#pragma once

#include "CButtonControl.h"

NAMESPACE_CORE_BEGIN

class UI_API CButton : public CButtonControl
{
public:
	CButton();
	CButton(int_32 iX, int_32 iY, int_32 iWidth, int_32 iHeight);
	~CButton();

	const COID & GetOID() const;
public:
	/**
	 * @copydoc CControl::OnPaintBack
	 */
	void OnPaintBack(IPaint * pPaint, const CRectInt32 & rcClip) const;

protected:
	void DrawButtonImageH4(IPaint * pPaint) const;
	void DrawButtonImageV4(IPaint * pPaint) const;

	void DrawButtonIcon(IPaint * pPaint, int_32 iX, int_32 iY) const;
	void DrawButtonText(IPaint * pPaint, int_32 iX, int_32 iY) const;
};

NAMESPACE_CORE_END
